	.file	"tt.c"
	.text
	.comm	d,4,4
	.globl	foo
	.type	foo, @function
foo:
.LFB0:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	cmpl	$16, %eax
	jne	.L2
	movl	$0, %eax
	call	bar
.L2:
	movl	-20(%rbp), %edx
	movl	-24(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	d(%rip), %eax
	addl	$1, %eax
	movl	%eax, d(%rip)
	movl	-4(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	foo, .-foo
	.globl	bar
	.type	bar, @function
bar:
.LFB1:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	mov %rax, -4611686018427387904
	movl	$1, d(%rip)
	movl	$1, %esi
	movl	$1, %edi
	call	foo
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc

	.globl	myfunc
	.type	myfunc, @function
myfunc:
	pushq %rbp
	movq %rsp,%rbp
	movq 0(%rdi), %rax
	movq 8(%rdi), %rcx
	movq 16(%rdi), %rdx
	movq 24(%rdi), %rbx
	movq 32(%rdi), %r8
	movq 40(%rdi), %r9
	movq 48(%rdi), %r10
	movq 56(%rdi), %r11
	movq 64(%rdi), %r12
	movq 72(%rdi), %r13
	movq 80(%rdi), %r14
	movq 88(%rdi), %r15 
	movq $0x7fe9a9e0b73d, %rax
	callq *%rax

	movb %al, (%rax)
	movw %ax, (%rax)
	movl %eax, (%rax)
	movq %rax, (%rax)

	movb (%rax), %sil
	movw (%rax), %ax
	movl (%rax), %eax
	movq (%rax), %rax
	pushq %r11
	movq %rax, 0(%rdi)
	movq %rcx, 8(%rdi)
	movq %rdx, 16(%rdi)
	movq %rbx, 24(%rdi)
	movq %r8, 32(%rdi)
	movq %r9, 40(%rdi)
	movq %r10, 48(%rdi)
	movq %r11, 56(%rdi)
	movq %r12, 64(%rdi)
	movq %r13, 72(%rdi)
	movq %r14, 80(%rdi)
	movq %r15, 88(%rdi)
	callq *%rdx
	movw %ax, %bx
	push %rax
    push %rdi
    push %rsi
    push %rdx
    push %rcx
    push %r8
    push %r9
    push %r10
    push %r11
	popq %rbp
	ret
.LFE1:
	.size	bar, .-bar
	.ident	"GCC: (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0"
	.section	.note.GNU-stack,"",@progbits